import functools
import os


@functools.lru_cache()
def get_root_path():
    # 获取当前脚本的绝对路径
    script_path = os.path.abspath(__file__)

    # 获取当前脚本所在目录的父级目录
    parent_dir = os.path.dirname(script_path)

    # 迭代向上查找，直到找到包含项目文件的目录
    while not os.path.exists(os.path.join(parent_dir, 'README.md')):
        parent_dir = os.path.dirname(parent_dir)

    # 项目根目录即为找到的目录
    return parent_dir

# if __name__ == '__main__':
#     # print(class_json(build_folder_dict('../algorithms'), prefix='algorithms'))
#     print(get_indicators())
